package com.example.warehouse.bus.dao.persist.repository;

import com.example.warehouse.bus.pojo.entity.BusInport;
import com.example.warehouse.bus.pojo.param.BusInportUpdateParam;
import com.example.warehouse.bus.pojo.vo.BusInportListItemVO;
import com.example.warehouse.common.pojo.vo.PageData;
import com.example.warehouse.common.security.CurrentPrincipal;

/**
 * 处理商品进货的repository层接口
 * @author XXH
 */
public interface IBusInportRepository {
    /**
     * 插入进货数据--增
     * @param busInport 需要插入的实体类
     * @return 受影响的行数
     */
    int insert(BusInport busInport);

    /**
     * 根据id删除进货数据--删
     * @param id 修改的id
     * @param currentPrincipal 当事人
     * @return 受影响条数
     */
    int deleteById(Long id,CurrentPrincipal currentPrincipal);

    /**
     * 根据id修改进货数据--改
     * @param busInportUpdateParam
     * @return 受影响条数
     */
    int updateById( BusInportUpdateParam busInportUpdateParam);



    /**
     * 查询进货(Inport)列表--查
     * @param pageNum 页码
     * @param pageSize 每页记录数
     * @return 进货列表
     */
    PageData<BusInportListItemVO> list(Integer pageNum, Integer pageSize);
}
